const fs = require("fs");
const os = require("os");
const { execSync,exec} = require("child_process");

/**
 * "type .nvmrc"：这是一个命令，用于在 Windows 系统中读取 .nvmrc 文件的内容。
 * 在 Windows 中，type 命令用于显示文本文件的内容。
 *
 * */
if (fs.existsSync(".nvmrc")) {
    const nvmrcContent = fs.readFileSync(".nvmrc", "utf8").trim();
    const nvmVersion =
        os.platform() === "win32"
            ? execSync("type .nvmrc", { encoding: "utf8" }).trim()
            : nvmrcContent;
    try {
        execSync(`nvm use ${nvmVersion}`, { stdio: "inherit" });
        console.log("\x1b[32m%s\x1b[0m", "Node.js 版本切换成功");

        // 通知父进程继续执行 webpack-dev-server
        process.exit(0);
    } catch (error) {
        console.error(
            "\x1b[31m%s\x1b[0m",
            "Node.js 版本切换失败 Check installation nvm"
        );
        process.exit(1);

    }
} else {
    console.error("\x1b[31m%s\x1b[0m", ".nvmrc 文件不存在");
    process.exit(1);
}
